<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css">
    <style>
        body {
            background-color: #ececec;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }

        input[type="checkbox"] {
            height: 200px;
            width: 200px;
            /* 去除checkbox默认样式 */
            -webkit-appearance: none;
            box-shadow:
                -10px -10px 15px rgba(255, 255, 255, 0.5),
                10px 10px 15px rgba(70, 70, 70, .12);
            border-radius: 50%;
            border: 8px solid #ececec;
            outline: none;
            position: relative;
        }
        input[type="checkbox"]::after{
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            font-family:FontAwesome;
            content: '\f011';
            color: #7a7a7a;
            font-size: 70px;
           transition: 0.5s;
        }

        input[type="checkbox"]:checked{
            box-shadow:
                -10px -10px 15px rgba(255, 255, 255, 0.5),
                10px 10px 15px rgba(70, 70, 70, .12),
                inset -10px -10px 15px rgba(255, 255, 255, 0.5),
                inset 10px 10px 15px rgba(70, 70, 70, .12);
        }
        input[type="checkbox"]:checked::after{
            color: #15e38a; 
            transition:  0.5s;
        }
    </style>
</head>

<body>
    <input type="checkbox">
</body>

</html>